﻿<Serializable()> Public Class KOTempest
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Private Sub StartwerteLaden()
        KOID = "TEMPEST"
        Armee = Armeen.BD.ToString
        Musik = "Tempest"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 2
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 2
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        ReDim WetterartfürSenker(0)
        WetterartfürSenker(0) = ObjektSpielfeld.Wetterarten.Sandsturm
        ReDim WetterReichweitenbonus(0)
        WetterReichweitenbonus(0) = 1
        If OhneFunktion = False Then
            Dim WZeit As Integer = 2
            AnimationEigene("KATGABE", WZeit)
            BackbufferSpiel.AddAnimation("SCREENFLASH", WZeit, New Point, True, ObjektSpielfeld.TopLayer)
            WetterÄndern(ObjektSpielfeld.Wetterarten.Sandsturm, 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub KOLaden()
        Bewegunssenker = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Schnee, ObjektSpielfeld.Wetterarten.Regen, ObjektSpielfeld.Wetterarten.Sandsturm, ObjektSpielfeld.Wetterarten.Sonne}
        Bewegungswetter = New Bewegungsarten() {Bewegungsarten.Sonne, Bewegungsarten.Sonne, Bewegungsarten.Sonne, Bewegungsarten.Sonne}
        ReDim WetterartfürSenker(0)
        WetterartfürSenker(0) = ObjektSpielfeld.Wetterarten.Sandsturm
        ReDim WetterReichweitenbonus(0)
        WetterReichweitenbonus(0) = 0
        DeffensivStärke = Nothing
        LandschaftsVertauschung = New String(,) {{"SCHNEE", "EBENE"}, {"SCHNEE+SCHROTT", "EBENE+SCHROTT"}, {"GIPFEL", "BERG"}, {"KIEFERN", "WALD"}, {"STRAßENFROST", "STRAßE"}, {"WÜSTE", "EBENE"}, {"WÜSTE+SCHROTT", "EBENE+SCHROTT"}, {"KAKTEEN", "WALD"}, {"FELSEN", "BERG"}, {"AUSGETROCKNETESFLUSSBETT", "FLUSS"}}
        Wetterimmunität = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Regen, ObjektSpielfeld.Wetterarten.Sandsturm, ObjektSpielfeld.Wetterarten.Sonne}
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWars Then
            Dim M As ObjektSpielMenü = Objektverwalter.Menü
            ReDim WetterartfürSenker(0)
            WetterartfürSenker(0) = ObjektSpielfeld.Wetterarten.Sandsturm
            ReDim WetterReichweitenbonus(0)
            WetterReichweitenbonus(0) = 0
            If OhneFunktion = False Then
                Dim WZeit As Integer = 2
                AnimationEigene("KATGABE", WZeit)
                BackbufferSpiel.AddAnimation("SCREENFLASH", WZeit, New Point, True, ObjektSpielfeld.TopLayer)
                WetterÄndern(ObjektSpielfeld.Wetterarten.Sandsturm, 2)
            End If
            GabeEingesetzt()
        Else
            If OhneFunktion = False Then
                Dim WZeit As Integer = 2
                AnimationEigene("SPEZIALGABE", WZeit)
                BackbufferSpiel.AddAnimation("SCREENFLASH", WZeit, New Point, True, ObjektSpielfeld.TopLayer)
                Dim M As ObjektSpielMenü = Objektverwalter.Menü
                WetterÄndern(ObjektSpielfeld.Wetterarten.Schnee, 2)
                VollRation()
            End If
            DeffensivStärke = New Feuerkrafttabelle120
            WetterReichweitenbonus(0) = 0
            WetterartfürSenker(0) = ObjektSpielfeld.Wetterarten.Schnee
            GabeEingesetzt()
        End If
    End Sub

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

<Serializable()> Public Class KOBeschreibungTempest
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Tempest"
        Fein = "Wolken"
        Nein = "Sonnenschein"
        Beschreibung = New String() {"Ein KO von Brown Desert,", "der jedem Wetter trotzt.", "Er liebt extreme Wettersiutationen."}
        Stil = New String() {"Immun gegen jedes Wetter."}
        Gabebeschreibung = New String() {"Ein Sandsturm bricht ein.", "Die Reichweite seiner", "Fernkampfeinheiten steigt", "um 1 Feld."}
        SpezialgabeBeschreibung = New String() {"Ein Schneesturm entsteht.", "Seine Truppen erhalten Ration und", " haben eine erhöhte Deffensive."}
        GabeKosten = 3
        Spezialgabekosten = 4
        Gaben = New String() {"Harmattan", "Katabischer Sturm"}
        Synergie = New Decimal() {2, 1, 0.5#, -2, -1}
        KONamen = New String() {"ZANDRA", "OLAF", "DRAKE", "KAT", "VON BOLT"}
        Doppelgabenamen = New String() {"Wetterchaos", "Winterliche Macht", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesätze = New String() {"Vorhersehung? Heute: Tod. Morgen sieht es nicht besser aus." _
                                    , "Selbst die Natur ist gegen dich." _
                                    , "Diese Böe wird ich aus der Spur werfen." _
                                    , "Es gibt keine Warnung für dieses raue Wetter." _
                                    , "Wir blaßen dich weg." _
                                    , "Du hättest Zuflucht suchen sollen."}
        Siegsätze = New String() {"Der Wind teilt die Starken von den Schwachen." _
                                , "Die Natur hat uns geholfen zu siegen." _
                                , "Ich wette, dass habt ihr nicht vorhergesehen."}
        Tauschsätze = New String() {"Zeit zum vor Stürmen." _
                                    , "Ich denke ich sehe einen Sturm aufkommen."}
        Doppelgabesätze = New DoppelGabesatz() {New DoppelGabesatz("OLAF", "TEMPEST", "Hmpf. Du kämpst besser als du aussiehst", "Das ist der Grund warum ich immer noch kämpfe!") _
                                              , New DoppelGabesatz("TEMPEST", "OLAF", "Wetter? wenn interresiert das Wetter!", "Hauptsache es ist wild.") _
                                              , New DoppelGabesatz("TEMPEST", "OLAF", "Ihr werdet vom Sturm weggeblaßen.", "Da hast du recht!") _
                                              , New DoppelGabesatz("OLAF", "TEMPEST", "Schon mal versucht Ski zu laufen in einem Panzer?", "Klingt einfacher als den Sand aus dem Motor zu bekommen.") _
                                              , New DoppelGabesatz("TEMPEST", "ZANDRA", "Mich hält kein Wetter auf.", "Deshalb seht der Wüste ins Gesicht.") _
                                              , New DoppelGabesatz("ZANDRA", "TEMPEST", "Dieses Wetter...", "könnt ihr sehen, was da kommt?")}
    End Sub
End Class
